קודם כל - האם מבנה התיקיות הבא הוא נכון?

- htaccess.
- config
-- config.php
- system
-- Controller.php
-- Model.php
- Controllers
-- Contact.php
-- Index.php
-- Register.php
- Models
-- Contact.php
-- Index.php
-- Register.php
- Views
-- Contact.php
-- Index.php
-- Register.php
- public_html
-- index.php
-- static
--- javascript
--- style
--- images

אופן הפעולה הוא כזה שכל בקשה מועברת אל index.php, שם אני מפעיל את הקונטרולר המתאים עם הפעולה המתאימה עם הפרמטרים המתאימים, בקונטרולר אני מפעיל את המודל המתאים ולבסוף מציג ב-view המתאים.

האם עד לכאן כל מה שכתבתי הוא נכון?


שאלה נוספת -
איך אמור להיראות ה-view? מה הוא בעצם? קוד html עם הצגת משתנים באמצע?



תודה מראש.

9 תשובות

avatar ענה boolval ב 05 לינואר 2013 #

יש לך מדריך מצויין של אלכס על MVC כאן



ועידן הדגול רק מתחיל בMVC? 0_0 חשבתי שweb-school ככה או שאתה עושה אותה MVC...

avatar ענה iiddaannyy ב 05 לינואר 2013 #

אני מכיר את המדריך ולצערי הוא לא שלם.
בנוגע ל"עידן הדגול" - אין צורך להגזים... :-)

האתר שלי היה בנוי בסוג של mvc, לא באמת כמו שצריך... ככה שאני תמיד ידעתי mvc באופן תאורטי, ולא ניסיתי את זה בפרויקט אמיתי.

avatar ענה boolval ב 05 לינואר 2013 #

אוקיי.
הורדת את WS לשיפוצים בגלל שאתה משכתב את הקוד עוד פעם?
דרך אגב אשמח לעזרה בשאלה ששאלתי כאן (תסתכל בעמוד השאלות).

avatar ענה iiddaannyy ב 05 לינואר 2013 #

בדיוק. יש שם קוד מאוד רע מלפני שנתיים, ועדיף לשכתב את הכל בצורה טובה ונכונה מאשר להתחיל להתעסק עם זה.

avatar ענה intval ב 05 לינואר 2013 #

התשובות לכל השאלות ששאלת הם "כן".
המבנה בסדר, ההפעלה בסדר, הוויו בסדר.
אני רק הוסיף שמבחינת מבנה אין נכון ולא נכון. איך שנוח לך ככה שיהיה.
--
הערה חשובה: אם אתה כותב את זה בשביל תרגול, זה אחלה.
אם אתה מתכנן להפעיל אתר על המערכת הזאת, לך על פריימוורק קיים כמו YII במקום להמציא את הגלגל

avatar ענה Michael ב 06 לינואר 2013 #

:פרסום סמוי: ^ או כמו Laravel

avatar ענה iiddaannyy ב 06 לינואר 2013 #

תודה רבה, אבל לא קיבלתי תשובה על השאלה האחרונה: איך אמור להיראות ה-view? מה הוא בעצם?

לבינתיים, זזתי להציץ בקוד של phpguide ולראות איך זה ממומש שם.

avatar ענה pol292 ב 06 לינואר 2013 #

VIEW זה בעצם תצוגה
בתוכו יש מתודות להקלה על תצוגה עם זה פקודות של העברה נתיב, קריאה לקבצי תצוגה (קבצי HTML PHTML TMP...) LAYOUT (מעטפת זהה לאתר)....

אני אישית עובד בעצמי על FRAMEWORK אז עשית הפרדה קטנה בין VIEW ל TEMPLATE
הTEMPLATE מכיל אצלי layout מכיל RENDER מכיל מערכת שלוקחת משתנים מהקונטרולייר ומאפשרת להשתמש בהם בקבצי תצוגה) מערכת בסיגנון של Twig שמאפשרת לבצע קוד בפקודות חדשות לדוגמה ( { if | x == y } זהה ל <?php if ($x == $y) : ?> וכו'...
וVIEW יורש מTEMPLATE ומכיל פקודות של העברת דף טפסים וכו'...

avatar ענה iiddaannyy ב 06 לינואר 2013 #

הבנתי, תודה רבה.